package com.gopay.common.domain.cbrmb;

import java.io.Serializable;
import java.math.BigDecimal;
import java.sql.Timestamp;
import java.text.SimpleDateFormat;
import java.util.Date;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.SequenceGenerator;
import javax.persistence.Table;

@Entity
@Table(name="CB_RMB_REPORT_ORD_PACK")
public class CbRmbReportOrderPackage implements Serializable {

    /**
     * serialVersionUID
     */
    private static final long serialVersionUID = -3926019704908640911L;

    @Id
    @SequenceGenerator(name="CB_RMB_REPORT_ORD_PACK_PACKID_GENERATOR", sequenceName="CB_RMB_REPORT_ORD_PACK_SEQ")
    @GeneratedValue(strategy=GenerationType.SEQUENCE, generator="CB_RMB_REPORT_ORD_PACK_PACKID_GENERATOR")
    @Column(name="PACK_ID")
    private long packId;

    @Column(name="AMT_INTERVAL")
    private String amtInterval;

    @Column(name="CREATED_TS")
    private Date createdTs;

    @Column(name="HAS_BANK_BRANCH_CODE")
    private String hasBankBranchCode;

    @Column(name="LAST_UPD_TRANCODE")
    private String lastUpdTrancode;

    @Column(name="LAST_UPD_TS")
    private Date lastUpdTs;

    @Column(name="OPER_NAME")
    private String operName;

    @Column(name="PAY_BANK_NAME")
    private String payBankName;

    @Column(name="RECORD_COUNT")
    private BigDecimal recordCount;

    @Column(name="RECV_BANK_NAME")
    private String recvBankName;

    @Column(name="REMARK1")
    private String remark1;

    @Column(name="REMARK2")
    private String remark2;

    @Column(name="SUM_AMT")
    private BigDecimal sumAmt;
    
    @Column(name="PACK_TYPE")
    private String packType;
    
    @Column(name="PAY_BANK_CODE")
    private String payBankCode;

    //add by qld 增加线上线下退款所需的3个字段
    @Column(name="PAY_FILE_TYPE")
    private String payFileType; // 付款文件类型0-线上, 1-线下

    @Column(name="ONLINE_PAY_SEND_TIME")
    private Date onlinePaySendTime; // 发起线上付款时间

    @Column(name="ONLINE_PAY_SEND_OPER")
    private String onlinePaySendOper; // 发起线上付款操作员
    

    public CbRmbReportOrderPackage() {
    }

    public long getPackId() {
        return this.packId;
    }

    public void setPackId(long packId) {
        this.packId = packId;
    }

    public String getAmtInterval() {
        return this.amtInterval;
    }

    public void setAmtInterval(String amtInterval) {
        this.amtInterval = amtInterval;
    }

    public Date getCreatedTs() {
        return this.createdTs;
    }

    public void setCreatedTs(Date createdTs) {
        this.createdTs = createdTs;
    }

    public String getHasBankBranchCode() {
        return this.hasBankBranchCode;
    }

    public void setHasBankBranchCode(String hasBankBranchCode) {
        this.hasBankBranchCode = hasBankBranchCode;
    }

    public String getLastUpdTrancode() {
        return this.lastUpdTrancode;
    }

    public void setLastUpdTrancode(String lastUpdTrancode) {
        this.lastUpdTrancode = lastUpdTrancode;
    }

    public Date getLastUpdTs() {
        return this.lastUpdTs;
    }

    public void setLastUpdTs(Date lastUpdTs) {
        this.lastUpdTs = lastUpdTs;
    }

    public String getOperName() {
        return this.operName;
    }

    public void setOperName(String operName) {
        this.operName = operName;
    }

    public String getPayBankName() {
        return this.payBankName;
    }

    public void setPayBankName(String payBankName) {
        this.payBankName = payBankName;
    }

    public BigDecimal getRecordCount() {
        return this.recordCount;
    }

    public void setRecordCount(BigDecimal recordCount) {
        this.recordCount = recordCount;
    }

    public String getRecvBankName() {
        return this.recvBankName;
    }

    public void setRecvBankName(String recvBankName) {
        this.recvBankName = recvBankName;
    }

    public String getRemark1() {
        return this.remark1;
    }

    public void setRemark1(String remark1) {
        this.remark1 = remark1;
    }

    public String getRemark2() {
        return this.remark2;
    }

    public void setRemark2(String remark2) {
        this.remark2 = remark2;
    }

    public BigDecimal getSumAmt() {
        return this.sumAmt;
    }

    public void setSumAmt(BigDecimal sumAmt) {
        this.sumAmt = sumAmt;
    }


    public String getPackType() {
        return packType;
    }

    public void setPackType(String packType) {
        this.packType = packType;
    }

    public String getPayBankCode() {
        return payBankCode;
    }

    public void setPayBankCode(String payBankCode) {
        this.payBankCode = payBankCode;
    }

    public String getShowDate() {
        SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        return df.format(this.getCreatedTs());
    }

    public void setShowDate(String showDate) {
        this.setCreatedTs(Timestamp.valueOf(showDate));
    }

    public String getPayFileType() {
        return payFileType;
    }

    public void setPayFileType(String payFileType) {
        this.payFileType = payFileType;
    }

    public Date getOnlinePaySendTime() {
        return onlinePaySendTime;
    }

    public void setOnlinePaySendTime(Date onlinePaySendTime) {
        this.onlinePaySendTime = onlinePaySendTime;
    }

    public String getOnlinePaySendOper() {
        return onlinePaySendOper;
    }

    public void setOnlinePaySendOper(String onlinePaySendOper) {
        this.onlinePaySendOper = onlinePaySendOper;
    }

}
